Information processing device, client device, server device, list generation method, list acquisition method, list providing method and program

ABSTRACT

There is provided an information processing device including a plurality of specifying devices used to respectively specify a plurality of types of parameter values representing music features; a music extraction portion that extracts, from a first database in which a plurality of pieces of music and the parameter values are associated with each other, pieces of music that match the parameter values specified using the specifying devices; and a list generation portion that generates a list of the pieces of music extracted by the music extraction portion.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing device, aclient device, a server device, a list generation method, a listacquisition method, a list providing method and a program.

2. Description of the Related Art

In recent years, most music players have a function that sorts music (orsongs) using meta data. When music data is stored in a music player, themusic player automatically generates and displays a list of music bygenre, artist, date, or frequency of playback, for example, or the musicplayer automatically displays the music in a hierarchical manner.Further, most of the music players are provided with a playlistregistration function so that a user can collectively manage favoritemusic. Many users create playlists according to environment andactivities etc., such as a playlist for “sleeping” in which pieces ofmusic that induce sleep are collected in order to be listened to atbedtime, and a playlist for “running” in which pieces of music with agood tempo are collected in order to be listened to while running. Inrelation to playlists for the music player, Japanese Patent ApplicationPublication No. JP-A-2007-164020 discloses a method for selecting aplaylist or music according to a walking tempo.

SUMMARY OF THE INVENTION

However, in order to create a playlist, operations are necessary inwhich the user selects desired pieces of music one by one from a groupof music pieces and registers the selected pieces of music in theplaylist. Further, in order to perform the operations, it is necessaryfor the user to know in advance all the music included in the group ofmusic pieces. In many cases, it is assumed that the user has alreadylistened to the music owned by the user at least once. However, whencreating a playlist, many users listen to the music once more to recallthe mood of the music. Therefore, a great effort is necessary to createthe playlist. Having said that, the number of pieces of music owned byan individual user is at most about several hundreds, and it istherefore possible to manually create the playlist. On the other hand,it is very difficult for a music seller or a music distribution serviceprovider, who manages an enormous amount of music (thousands or tens ofthousands of pieces of music), to manually create the playlist.

As described above, a great effort is needed for operations to create aplaylist by selecting pieces of music with a specified feature from agroup of music pieces including many pieces of music. Particularly, alarge amount of time and a great effort are required for the operationof listening to the pieces of music one by one. Therefore, if it ispossible to extract the pieces of music with the specified feature fromthe group of music pieces without listening to the music, it is possibleto significantly reduce an operation load to create the playlist. Amethod that uses meta data is known as a method for classifying piecesof music included in a group of music pieces without listening to thepieces of music. In many cases, the meta data includes information suchas genres, artist names, album names and music titles. Therefore, theuse of the meta data makes it possible to classify the pieces of musicby genre, by artist or by album, or to arrange the pieces of music in analphabetical order of music titles.

However, the playlist is created by classification based on thesubjectivity of the user. Therefore, in many cases, it is not possibleto easily perform classification by genre, artist, album or the like.Further, information of the genre etc. is added by a music provider,such as a music producer or a music seller, at his/her own discretion.Therefore, in many cases, the definition of the genre etc. is notuniform, or deviates from the user's perception. Further, the user whodoes not know the artist name, the album name or the like cannot createthe playlist by searching for favorite pieces of music based on theartist name, the album name or the like. As described above, it isdifficult to create a playlist by automatically extracting pieces ofmusic that match the user's preference (the mood of desired pieces ofmusic), from a group of music pieces including many pieces of music forwhich there is no advance information.

In light of the foregoing, it is desirable to provide an informationprocessing device, a client device, a server device, a list generationmethod, a list acquisition method, a list providing method and a programthat are novel and improved and that are capable of dynamicallyextracting a group of music pieces with a specified feature andgenerating a list of the pieces of music.

According to an embodiment of the present invention, there is providedan information processing device including a plurality of specifyingdevices used to respectively specify a plurality of types of parametervalues representing music features; a music extraction portion thatextracts, from a first database in which a plurality of pieces of musicand the parameter values are associated with each other, pieces of musicthat match the parameter values specified using the specifying devices;and a list generation portion that generates a list of the pieces ofmusic extracted by the music extraction portion.

The information processing device may further include a specifyingdevice management portion that selects the parameter value type thatmatches at least a preference of a user, and causes the specifyingdevice that corresponds to the selected parameter value type to be in anoperable state.

The information processing device may further include an informationholding portion that holds a combination of a type of the specifyingdevice that is caused to be in the operable state by the specifyingdevice management portion and the parameter value specified using thespecifying device. In a predetermined case, the music extraction portionextracts pieces of music that match the type of the specifying deviceheld by the information holding portion and the parameter valuespecified using the specifying device.

The information processing device may further include an informationdisclosure portion that discloses the combination of the type of thespecifying device that is caused to be in the operable state by thespecifying device management portion and the parameter value specifiedusing the specifying device. Another information processing device thatreceives the type of the specifying device and the parameter valuedisclosed by the information disclosure portion is allowed to extract,from a second database in which a plurality of pieces of music and theparameter values are associated with each other, pieces of music thatmatch the type of the specifying device and the parameter value thathave been received.

The information processing device may further include an informationreceiving portion that receives, from the other information processingdevice, a combination of the type of the specifying device and theparameter value that can be specified using the specifying device. Themusic extraction portion is capable of extracting pieces of music thatmatch the type of the specifying device and the parameter valuespecified using the specifying device that have been received by theinformation receiving portion.

The information processing device may further include a type selectionportion used to select a plurality of types of the parameter values thathave been set in advance; a normalization portion that normalizes acombination of parameter values that correspond to the types selectedusing the type selection portion to a scalar quantity in a predeterminedrange; and a specifying device generation portion that sets the scalarquantity normalized by the normalization portion as a new type ofparameter value, and generates a specifying device used to specify thenew type of parameter value.

The information processing device may further include a display portionthat displays the list of the pieces of music that is generated by thelist generation portion; and an image holding portion that holds animage that corresponds to each of the pieces of music stored in thefirst database. When the list of the pieces of music is displayed, thedisplay portion generates divided images by dividing the image held inthe image holding portion so as to match frames of the respective piecesof music included in the list of the pieces of music, and displays, inthe respective frames, the divided images of the image that correspondsto the pieces of music of the respective frames.

According to an embodiment of the present invention, there is provided aclient device including a plurality of specifying devices used torespectively specify a plurality of types of parameter valuesrepresenting music features; a parameter transmitting portion thattransmits to a server device the parameter values specified using theplurality of specifying devices; and a list receiving portion that,after the server device has extracted, from a first database in which aplurality of pieces of music and the parameter values are associatedwith each other, pieces of music that match the parameter valuestransmitted by the parameter transmitting portion and a list of theextracted pieces of music has been generated, receives the generatedlist of the pieces of music.

According to an embodiment of the present invention, there is provided aserver device including a parameter receiving portion that receivesparameter values specified by a client device that includes a pluralityof specifying devices used to respectively specify a plurality of typesof parameter values representing music features; a music extractionportion that extracts, from a first database in which a plurality ofpieces of music and the parameter values are associated with each other,pieces of music that match the parameter values received by theparameter receiving portion; a list generation portion that generates alist of the pieces of music extracted by the music extraction portion;and a list transmitting portion that transmits, to the client device,the list of the pieces of music that is generated by the list generationportion.

According to an embodiment of the present invention, there is provided alist generation method, including the steps of extracting pieces ofmusic that match parameter values specified using a plurality ofspecifying devices used to respectively specify a plurality of types ofparameter values representing music features, from a first database inwhich a plurality of pieces of music and the parameter values areassociated with each other; and generating a list of the pieces of musicextracted in the music extracting step.

According to an embodiment of the present invention, there is provided alist acquisition method, including the steps of transmitting, to aserver device from a client device that includes a plurality ofspecifying devices used to respectively specify a plurality of types ofparameter values representing music features, the parameter valuesspecified using the plurality of specifying devices; and receiving,after the server device has extracted, from a first database in which aplurality of pieces of music and the parameter values are associatedwith each other, pieces of music that match the parameter valuestransmitted in the parameter transmitting step and a list of theextracted pieces of music has been generated, the generated list of thepieces of music from the server device.

According to an embodiment of the present invention, there is provided alist providing method, including the steps of receiving parameter valuesspecified by a client device that includes a plurality of specifyingdevices used to respectively specify a plurality of types of parametervalues representing music features; extracting, from a first database inwhich a plurality of pieces of music and the parameter values areassociated with each other, pieces of music that match the parametervalues received in the parameter receiving step; generating a list ofthe pieces of music extracted in the music extracting step; andtransmitting, to the client device, the list of the pieces of music thatis generated in the list generating step.

According to an embodiment of the present invention, there is provided aprogram that has instructions that command a computer to perform a musicextraction function that extracts pieces of music that match parametervalues specified using a plurality of specifying devices used torespectively specify a plurality of types of parameter valuesrepresenting music features, from a first database in which a pluralityof pieces of music and the parameter values are associated with eachother; and a list generation function that generates a list of thepieces of music extracted by the music extraction function.

According to an embodiment of the present invention, there is provided aprogram that has instructions that command a computer to perform aparameter transmitting function that transmits, to a server device,parameter values specified using a plurality of specifying devices usedto respectively specify a plurality of types of parameter valuesrepresenting music features; and a list receiving function that, afterthe server device has extracted, from a first database in which aplurality of pieces of music and the parameter values are associatedwith each other, pieces of music that match the parameter valuestransmitted by the parameter transmitting function and a list of theextracted pieces of music has been generated, receives from the serverdevice the generated list of the pieces of music.

According to an embodiment of the present invention, there is provided aprogram that has instructions that command a computer to perform aparameter receiving function that receives parameter values specified bya client device that includes a plurality of specifying devices used torespectively specify a plurality of types of parameter valuesrepresenting music features; a music extraction function that extracts,from a first database in which a plurality of pieces of music and theparameter values are associated with each other, pieces of music thatmatch the parameter values received by the parameter receiving function;a list generation function that generates a list of the pieces of musicextracted by the music extraction function; and a list transmittingfunction that transmits, to the client device, the list of the pieces ofmusic that is generated by the list generation function.

According to another embodiment of the present invention, there isprovided a recording medium in which the program is recorded, therecording medium being able to be read by a computer.

According to the present invention described above, it is possible todynamically extract a group of music pieces with a specified feature andto generate a list of the pieces of music.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an explanatory diagram showing a configuration of a playlistgenerator according to an embodiment of the present invention;

FIG. 2 is an explanatory diagram showing a method for acquiring aspecifying device list according to the embodiment;

FIG. 3 is an explanatory diagram showing specifying device typesaccording to the embodiment;

FIG. 4 is an explanatory diagram showing a playlist generation methodaccording to the embodiment;

FIG. 5 is an explanatory diagram showing a playlist exchange methodaccording to the embodiment;

FIG. 6 is an explanatory diagram showing a configuration of a playlistgeneration system according to the embodiment;

FIG. 7 is an explanatory diagram showing an example of a configurationof a feature quantity meta database according to the embodiment;

FIG. 8 is an explanatory diagram showing an example of a configurationof a music basic meta database according to the embodiment;

FIG. 9 is an explanatory diagram showing an example of a configurationof a ranking meta database according to the embodiment;

FIG. 10 is an explanatory diagram showing a detailed configuration of aspecifying device management portion according to the embodiment;

FIG. 11 is an explanatory diagram showing a method for displaying aspecifying device list according to the embodiment;

FIG. 12 is an explanatory diagram showing a playlist storage methodaccording to the embodiment;

FIG. 13 is an explanatory diagram showing a specifying device additionmethod according to the embodiment;

FIG. 14 is an explanatory diagram showing an example of a systemconfiguration of the playlist generation system according to theembodiment;

FIG. 15 is an explanatory diagram showing an example of a playlistgeneration procedure according to the embodiment; and

FIG. 16 is an explanatory diagram showing an example of a hardwareconfiguration that is capable of achieving functions of the playlistgeneration system, a server device and a client device according to theembodiment.

DETAILED DESCRIPTION OF THE EMBODIMENT(S)

Hereinafter, preferred embodiments of the present invention will bedescribed in detail with reference to the appended drawings. Note that,in this specification and the appended drawings, structural elementsthat have substantially the same function and configuration are denotedwith the same reference numerals, and repeated explanation of thesestructural elements is omitted.

Flow of Explanation

Here, a flow of explanation of an embodiment of the present invention tobe described below will be briefly described. First, an overview of aplaylist generation method according to the present embodiment will beexplained with reference to FIG. 1 to FIG. 4. Next, a playlist exchangemethod according to the present embodiment will be briefly explainedwith reference to FIG. 5. Then, a playlist display method according tothe present embodiment will be briefly explained with reference to FIG.1 and FIG. 5.

Next, a configuration of a playlist generation system 10 according tothe present embodiment will be explained with reference to FIG. 6 toFIG. 13. In this explanation, the playlist generation method, a playlistmanagement method, a parameter specifying device addition method and thelike according to the present embodiment will be explained in detail.Then, an example of a system configuration of the playlist generationsystem 10 according to the present embodiment will be explained withreference to FIG. 14 and FIG. 15.

Next, an example of a hardware configuration that is capable ofachieving functions of the playlist generation system 10, a clientdevice 11 and a server device 12 according to the present embodimentwill be explained with reference to FIG. 16. Lastly, technical conceptsof the present embodiment will be summarized, and advantageous effectsderived from the technical concepts will be briefly explained.

Items to be Explained

1: Introduction

-   -   1-1: Playlist generation method    -   1-2: Playlist exchange method    -   1-3: Playlist display method

2: Configuration of playlist generation system 10

-   -   2-1: Overall configuration    -   2-2: Configuration of specifying device management portion 112    -   2-3: System configuration examples

3: Hardware configuration

4: Conclusion

Embodiment

Hereinafter, the embodiment of the present invention will be explained.

1: INTRODUCTION

First, the overview of the playlist generation method and the likeaccording to the present embodiment will be explained. The presentembodiment relates to a method for generating a playlist of pieces ofmusic with a feature that a user likes, from among a group of musicpieces that the user does not know. Further, hereinafter, the playlistexchange method and the playlist display method will also be explainedin conjunction with the playlist generation method according to thepresent embodiment. Particularly, a system will be explained which makesit possible to efficiently extract a piece of music that matches auser's preference from a certain group of music pieces, or which makesit possible to store the mood of the piece of music or to share the moodof the piece of music with another person. These points will beexplained below.

1-1: Playlist Generation Method

First, the playlist generation method according to the presentembodiment will be briefly explained with reference to FIG. 1 to FIG. 4.FIG. 1 to FIG. 4 are explanatory diagrams that schematically show theplaylist generation method according to the present embodiment.

First, FIG. 1 is referred to. The playlist generation method accordingto the present embodiment is achieved using a playlist generator. Theplaylist generation method according to the present embodiment has atechnical feature in that the user specifies a “music feature” that theuser wants to incorporate into a playlist, instead of the user manuallyselecting pieces of “music” one by one. When the “music feature” isspecified, the playlist generator automatically extracts pieces of musicwith the specified feature and creates a playlist.

The user specifies the music feature using a parameter specifying device101 such as that shown in FIG. 1. The parameter specifying device 101 isan input device to specify a parameter value that indicates a musicfeature. Note that one parameter specifying device 101 corresponds toone music feature. Therefore, when the user specifies a plurality oftypes of features at the same time, the user uses a plurality of theparameter specifying devices 101 as shown in FIG. 1.

Each of the parameter specifying devices 101 is provided as a graphicaluser interface (hereinafter referred to as the GUI) object, for example.Of course, each of the parameter specifying devices 101 may be aphysical interface device. Note however that, in the explanation below,it is assumed that each of the parameter specifying devices 101 is a GUIobject.

As shown in FIG. 1, each of the parameter specifying devices 101 has aparameter operation portion 1011. The parameter operation portion 1011is an operation unit that is used to specify parameter values. Theparameter operation portion 1011 may have any shape as long as it can beused to specify parameter values, and it may be a rotary knob (refer toFIG. 1), a numeric value input box (not shown in the drawings) or thelike. However, in the following explanation, it is assumed that theparameter operation portion 1011 has a rotary knob shape. When theparameter operation portion 1011 is formed in such a shape, the user canfreely set a parameter value by twirling the parameter operation portion1011. As a result, an upper limit or a lower limit of the parametervalue can be quickly set, and good operability is obtained.

As shown in FIG. 1, each of the parameter specifying devices 101 furtherincludes a parameter display portion 1012. The parameter display portion1012 is a display unit that displays a parameter value type that can bespecified using the parameter specifying device 101, a parameter valuethat is specified using the parameter operation portion 1011, aparameter value rage that can be specified using the parameter operationportion 1011, and the like. For example, a character string indicating“music tempo” and a parameter value of “88” are displayed on theparameter display portion 1012 of the parameter specifying device 101that is used to specify the “music tempo”. Further, for example, acharacter string indicating “musical instrument type” and a parametervalue of “P (piano)” are displayed on the parameter display portion 1012of the parameter specifying device 101 that is used to specify the“musical instrument type”.

In this manner, each of the parameter specifying devices 101 is providedwith the operation unit and the display unit, and the user can use theparameter specifying device 101 corresponding to the music feature tospecify the “music feature” to extract pieces of music that the userwants to incorporate into the playlist. Types of parameter values thatcan be specified using the parameter specifying devices 101 are shown,for example, in FIG. 3.

As an example of the types of parameter values, FIG. 3 shows tempo, alevel of happiness (happy), an acoustic level (acoustic), a level offame (major), a decade and the like. A time channel shown in FIG. 3 isused to specify a production year, and a mood channel is used to specifya mood.

Further, event information (event) is used to specify the mood of anevent, and an artist name (artist) is used to specify the initial of theartist name. Note that the level of happiness (happy) indicates thelevel of a feeling of happiness felt by the user. The acoustic level(acoustic) indicates the percentage of the sound of an acoustic musicalinstrument that is not an electronic musical instrument and thatproduces an original musical instrument sound. Note that the types ofparameter values are not limited to these examples. For example, a“cherry blossom level” that expresses a spring-like feeling, and a“celebrity level” that represents the likelihood that the music has afeeling of a celebrity group are included in the types of parametervalues.

In this way, there are many types of parameter values. Among them, someof the parameter values are rarely specified by the user because they donot match the user's preference. For example, it is quite unlikely thata parameter value of the “cherry blossom level” is specified in autumn.In a similar manner, it is quite unlikely that an elderly user specifiesa parameter value of the “celebrity level”. In addition, if many of theparameter specifying devices 101 are presented to the user, the usertakes a long time to find the parameter specifying device 101 that theuser wants to use, and the appearance deteriorates. To address this, inthe present embodiment, a system is proposed in which the parameterspecifying devices 101 that match the user's preference and useenvironment etc. are presented to the user (refer to FIG. 2).

First, when the user uses the playlist generator for the first time, theuser registers in advance user information, environment information andthe like. Examples of the above-described user information include theuser's age, gender, nationality, family structure and the like. Examplesof the above-described environment information include the user'slocation area, current time (time zone), language of use and the like.

If the user has used the playlist generator in the past, historyinformation is stored, such as operation history of the playlistgenerator, music playback history, music purchase history and the like.Further, preference information (including, for example, a favoritegenre, a favorite artist, favorite parameter values and the like), whichis obtained by analyzing the history information and the like, is held.Then, as shown in FIG. 2, the user information, the environmentinformation and the history information are used to analyze the user'spreferences and these pieces of information are analyzed, and the typesof parameter values (the parameter specifying devices 101) are selectedthat are likely to be specified by the user.

For example, if the date when the user activates the playlist generatoris in the period from March to April, it is determined (based on theenvironment information) that there is a high possibility that the userwill specify a parameter value of the “cherry blossom level”, and theparameter specifying device 101 that corresponds to the “cherry blossomlevel” is presented to the user. If the user is a female teenager andfrequently listens to the songs of male celebrity singers, it isdetermined (based on the user information and the history information(the preference information)) that there is a high possibility that theuser will specify a parameter value of a “male celebrity level”, and theparameter specifying device 101 that corresponds to the “male celebritylevel” is presented to the user. If the user accesses from India, it isdetermined (based on the environment information) that there is a highpossibility that the user will specify a parameter value of a “sitarlevel”, and the parameter specifying device 101 that corresponds to the“sitar level” is presented to the user.

Since the parameter specifying device 101 that corresponds to the user'spreference, use environment or the like is presented to the user asdescribed above, the user can quickly find the parameter specifyingdevice 101 that corresponds to the parameter value that the user wantsto specify. Further, since the types of parameter values are selectivelyreduced, it is possible to avoid a situation in which a lot of theparameter specifying devices 101 are displayed in a complicated mannerand the appearance deteriorates.

Note that a system may be adopted in which a list of the parameterspecifying devices 101 that are selected in accordance with the user'spreference, use environment and the like is presented to the user andthe user is allowed to select, from the list, the parameter specifyingdevices 101 that the user will use. Further, a combination of theparameter specifying devices 101 selected as a result of the preferenceanalysis and the information analysis, a combination of the parametervalues specified using each of the parameter specifying devices 101, andthe like may be held as the preference information.

When the parameter values are specified using a plurality of theparameter specifying devices 101 presented in this manner, a combinationof the specified parameter values is input to the playlist generator. Asshown in FIG. 1, the playlist generator includes a music extractionportion 102 and a list generation portion 105. The music extractionportion 102 extracts the pieces of music that match the inputcombination of the parameter values (hereinafter referred to as aspecified feature quantity vector). The list generation portion 105generates a list of the pieces of music extracted by the musicextraction portion 102. Note that the specified feature quantity vectorcan be expressed, for example, as (tempo, piano, . . . , acoustic)=(60,10, . . . , 80).

Note that it is also possible to specify each of the parameter values bya numeric value range. For example, each of the parameter values can bespecified as (tempo, piano, . . . , acoustic)=(60-70, 10-40, . . . ,80-88). When the specified feature quantity vector is input, the musicextraction portion 102 refers to a feature quantity meta database 103and extracts the pieces of music that match the input specified featurequantity vector. The feature quantity meta database 103 is a database toassociate music with a combination of parameter values (hereinafterreferred to as a music feature quantity vector) (refer to FIG. 7).

For example, the feature quantity meta database 103, an example of whichis shown in FIG. 7, associates music identification information (SongID) with parameter values, such as sound volume (amplitude), tempo,rhythm (cadence), chord complexity, acoustic level (acoustic), and pianolevel (piano). Note that, the music feature quantity vector can beexpressed as (amplitude, . . . , acoustic)=(40, . . . , 80), forexample.

Further, the parameter values that correspond to each piece of music canbe calculated using an analysis technology described, for example, inJapanese Patent Application Publication No. JP-A-2005-274708(hereinafter referred to as Document A) and Japanese Patent ApplicationPublication No. JP-A-2008-123011 (hereinafter referred to as DocumentB). For example, Document A describes a method in which a music audiosignal is frequency-analyzed, and based on an analysis result of themusic audio signal, a music tempo, a sense of speed (music speed), atempo fluctuation and the like are calculated as feature quantities(parameter values).

Further, Document B describes a method for generating a feature quantityextraction algorithm that is more general-purpose than the methoddescribed in Document A. When the method described in Document B isused, many pieces of music that have the same feature can be used asteacher data, and it is possible to automatically structure a featurequantity extraction algorithm that is used to calculate the featurequantity representing that feature. Further, when the feature quantityextraction algorithm is used, it is possible to calculate a givenfeature quantity (parameter value) from a given piece of music.

When the specified feature quantity vector is input, the musicextraction portion 102 detects, from the feature quantity meta database103, a music feature quantity vector that matches the specified featurequantity vector, and extracts music corresponding to the detected musicfeature quantity vector. If each parameter value included in thespecified feature quantity vector is specified by one numeric value, forexample, the music extraction portion 102 calculates an absolute valueof a difference between the music feature quantity vector and thespecified feature quantity vector, and detects the music featurequantity vector that satisfies the condition that the calculatedabsolute value of the difference is equal to or larger than apredetermined value. Note that a square of the difference may be usedinstead of the absolute value of the difference.

If a predetermined number or more of music feature quantity vectors thatsatisfy the condition that the absolute value of the difference is equalto or larger than the predetermined value are detected, the musicextraction portion 102 selects the predetermined number of music featurequantity vectors in descending order of the absolute value of thedifference. Then, the music extraction portion 102 extracts, from thefeature quantity meta database 103, the identification information ofthe music corresponding to the selected music feature quantity vectors,and inputs the extracted identification information of the music intothe list generation portion 105.

On the other hand, when each parameter value included in the specifiedfeature quantity vector is specified by a numeric value range, the musicextraction portion 102 detects a music feature quantity vector thatsatisfies the condition that each parameter value of the music featurequantity vector is included in the numeric value range of each parametervalue of the specified feature quantity vector. Note however that, if apredetermined number or more of music feature quantity vectors aredetected, the music extraction portion 102 presents the user with awarning to narrow down the numeric value range of each parameter value,or selects the predetermined number of music feature quantity vectors ina given manner, or in accordance with a predetermined weighting that isset for each parameter value. Then, the music extraction portion 102extracts, from the feature quantity meta database 103, theidentification information of the music corresponding to the selectedmusic feature quantity vectors, and inputs the extracted identificationinformation of the music into the list generation portion 105.

When the identification information of the music is input, the listgeneration portion 105 refers to a music basic meta database 106 andacquires basic information of the music that corresponds to the inputidentification information. The music basic meta database 106 is adatabase to associate the music identification information with themusic basic information (refer to FIG. 8). The music basic informationis information to be displayed on the playlist as music information.

For example, the music basic meta database 106, an example of which isshown in FIG. 8, associates the music identification information (SongID) with the music basic information, such as music title (title), albumname (album), artist name (artist) and file storage location (contentfile). The list generation portion 105 extracts, from the music basicmeta database 106, the basic information that corresponds to theidentification information of the music input by the music extractionportion 102, and lists the extracted basic information, therebygenerating a playlist. The playlist generated by the list generationportion 105 is displayed on the display portion 108 as shown in FIG. 1.

FIG. 4 schematically shows the playlist generation method according tothe present embodiment that is briefly explained above. As shown in FIG.4, first, a combination of parameter values (a specified featurequantity vector) is specified by the user. In the example shown in FIG.4, the combination of parameter values (tempo, acoustic, happy)=(45-80,20-60, 10-40) is specified. In this manner, each of the parameter valuesmay be specified by a numeric value range. Next, the weighting of eachparameter is determined in accordance with each of the specifiedparameter values. For example, a large weighting is determined for aparameter whose upper limit value, average value or the like is large.

Next, the identification information of the music that satisfies thecondition that the music feature quantity vector matches the numericvalue range of (tempo, acoustic, happy)=(45-80, 20-60, 10-40) isextracted from the feature quantity meta database 103. Note howeverthat, when the number of the extracted pieces of music is apredetermined number or more, the pieces of music are selectivelyreduced according to the weighting, and the identification informationof the resultant pieces of music is used to create a playlist. Then, themusic basic information corresponding to the extracted musicidentification information is extracted from the music basic metadatabase 106, and the playlist is generated based on the extracted musicbasic information. Then, the generated playlist is displayed andpresented to the user. Adoption of this type of system eliminates theoperation of manually selecting music, and makes it possible toautomatically generate a playlist that matches the user's preference.

The playlist generation method according to the present embodiment isbriefly explained above. The feature of this method is in that the userspecifies the “music feature” that the user likes, instead of specifyingthe “music” that the user wants to incorporate into the playlist. Inother words, the feature of this method is in that the playlist thatmatches the user's preference is automatically generated by justspecifying the mood of the music that the user wants. The use of thissystem makes it is possible to automatically generate the playlist thatmatches the mood that the user likes, from among a significant number ofgroups of music pieces.

Further, among different groups of music pieces, if music extraction isperformed using the same specified feature quantity vector, it ispossible to generate different playlists formed by music pieces with thesame mood. Therefore, it is also possible to generate various playliststhat correspond to the same mood from various groups of music pieces, bysaving the specified feature quantity vector and reading out thespecified feature quantity vector. Note that the saving of the specifiedfeature quantity vector is achieved, for example, by saving informationabout the combination of the parameter specifying devices 101 andinformation about the parameter values specified using each of theparameter specifying devices 101.

1-2: Playlist Exchange Method

As described above, the system according to the present embodimentrelates to the technology that extracts the music that matches the“music feature (mood)” from among a given group of music pieces. Theabove-described playlist generation method is obtained by applying thistechnology to playlist generation. Here, a method for applying thistechnology to playlist exchange will be explained. Note, however, that atarget to be exchanged using this method explained here is not theplaylist itself but the music feature (mood).

A method for exchanging a playlist between a user U1 and a user U2 willbe explained with reference to FIG. 5. Note that it is assumed that theuser U1 and the user U2 respectively use the playlist generators, whichare the same as the playlist generator shown in FIG. 1. In addition, amethod for transmitting the playlist from the user U1 to the user U2will be described here, and an explanation of a method for transmittingthe playlist from the user U2 to the user U1 is omitted.

First, the user U1 uses a plurality of the parameter specifying devices101 (101-1, 101-2, 101-3) to specify parameter values. As explainedabove, when a combination of parameter values is specified, a playlistis generated by the playlist generator and the generated playlist isdisplayed. At this time, the music basic information displayed on theplaylist relates to the music owned by the user U1. For example, in acase where an album name AAA, a music title Song#001, . . . , an albumname ABC, a music title Song#101 and the like are stored in the musicbasic meta database 106 of the user U1, the basic information extractedfrom them is displayed on the playlist.

When a general music player is used, in order for the user U1 to share agroup of music pieces collected by the same policy as the user U2, it isnecessary to transmit the playlist itself from the user U1 to the userU2. However, as in the example shown in FIG. 5, when the album name AAA,the music title Song#001 and the like that are included in the playlistare not stored in the music basic meta database 106 of the user U2, theuser U2 cannot listen to the pieces of music included in the playlist.In order to allow the user U2 to listen to the pieces of music includedin the playlist, it is necessary for the user U1 to transmit the piecesof music to the user U2 or it is necessary for the user U2 to purchasethe pieces of music included in the playlist.

On the other hand, in the playlist exchange method according to thepresent embodiment, the playlist itself is not transmitted to the userU2. The user U1 only transmits to the user U2 information of theparameter specifying devices 101 (hereinafter referred to as specifyingdevice information) and the parameter values specified using each of theparameter specifying devices 101. When the user U1 transmits thespecifying device information and the parameter values to the user U2,the user U2 selects the parameter specifying devices 101 based on thespecifying device information received from the user U1, specifies thereceived parameter values, and inputs them to the playlist generator.The playlist generator extracts pieces of music based on the inputcombination of parameter values, and generates a playlist using thebasic information extracted from the music basic meta database 106 ofthe user U2.

As shown in FIG. 5, a playlist L1 of the user U1 and a playlist L2 ofthe user U2 have different contents. This is because the playlist L2 ofthe user U2 is generated based on the pieces of music owned by the userU2. However, since the same parameter values are used to extract music,the pieces of music included in the playlists L1 and L2 have the samefeature. In other words, the users U1 and U2 can share the same mood bylistening to the pieces of music included in the playlists L1 and L2generated by them respectively. For example, in a case where a certainuser wants to share a “Christmassy” mood with another person onChristmas day, the use of the method of the present embodiment makes itpossible to share the “Christmassy” mood with the other person even ifthe other person does not own the same pieces of music as the certainuser.

The playlist exchange method according to the present embodiment isbriefly explained above. As described above, the playlist exchangemethod according to the present embodiment makes it possible to sharethe mood that is conveyed by the pieces of music in the playlist, ratherthan making it possible to share the playlist itself. More specifically,instead of exchanging the pieces of music themselves or causing anotherperson to purchase them, the playlist exchange method according to thepresent embodiment makes it possible to share with the other person the“mood” that is a subjective element and that is difficult to expressusing words. Note that, although the playlist exchange method in whichplaylist exchange is performed between two users has been discussedhere, it is also possible to widely disclose the specifying deviceinformation and parameter values.

1-3: Playlist Display Method

Next, the playlist display method according to the present embodimentwill be explained with reference to FIG. 1 and FIG. 5. As shown in FIG.1, the playlist is displayed on the display portion 108. Further, theplaylist is displayed such that it is divided by each piece of music.Further, an image relating to the music or album, such as a jacket photoof the album, is displayed on the background of the playlist. In theexample shown in FIG. 1, since a plurality of pieces of music includedin the same single album are listed, a single type of jacket photo isdisplayed. Note that, even when a single type of jacket photo isdisplayed, the basic information of each piece of music is separatelydisplayed in accordance with a frame in which the basic information ofeach piece of music is displayed.

On the other hand, in a case where the pieces of music extracted fromtwo types of albums are listed, as in the playlist L2 shown in FIG. 5,the jacket photos of the respective albums are divided and displayed. Inthis case, in order to show an associated relationship between eachalbum and each piece of music, in each frame in which the basicinformation of each piece of music is displayed, the jacket photo of thealbum corresponding to the piece of music is divided and displayed. Forexample, in the frame in which the basic information of a piece of musicSong#021 included in an album BBB is displayed, a jacket photo of thealbum BBB is displayed in a divided manner. In a similar way, in theframe in which the basic information of a piece of music Song#202included in an album CAA is displayed, a jacket photo of the album CAAis displayed in a divided manner.

Note that, as a method for dividing and displaying a jacket photo, amethod is conceivable in which the jacket photo is displayed inaccordance with a screen size of the display portion 108, and dividedphotos obtained by dividing the jacket photo at equal intervals aredisplayed in positions corresponding to the respective pieces of music.Further, if the pieces of music in the same album are arranged to bedisplayed without a space therebetween, the divided jacket photos aremade continuous and easily viewable. In this manner, in the case of themethod for dividing and displaying the jacket photo, it becomes easierto identify the jacket photo because the resolution and display size ofthe jacket photo can be maintained, as compared to a general method inwhich the jacket photo is reduced in size and displayed. This method isparticularly effective when the size of each frame, in which the basicinformation of each piece of music is displayed, is reduced as in thecase of the playlist that includes many pieces of music.

The playlist display method according to the present embodiment isbriefly explained above.

As explained above, the present embodiment relates to the system thatextracts music that matches the specified music feature, from a givengroup of music pieces. Then, by applying this system, it is possible toautomatically generate a playlist, to save the mood of the music, or toshare the mood of the music with another person. Hereinabove, theabove-described system is roughly explained. Hereinafter, a detailedsystem configuration and the like to achieve this system will beexplained.

2: CONFIGURATION OF PLAYLIST GENERATION SYSTEM 10

Hereinafter, the configuration of the playlist generation system 10 willbe explained that can achieve the above-described system, such as theplaylist generation method, the playlist exchange method and theplaylist display method according to the present embodiment. Asdescribed later, the functions of the playlist generation system 10 canbe achieved by using a single information processing device.Alternatively, some of the functions can be separately assigned to aplurality of information processing devices.

2-1: Overall Configuration

First, an overall configuration of the playlist generation system 10according to the present embodiment will be explained with reference toFIG. 6. FIG. 6 is an explanatory diagram showing the overallconfiguration of the playlist generation system 10 according to thepresent embodiment.

As shown in FIG. 6, the playlist generation system 10 includes aplurality of the parameter specifying devices 101 (101-1, . . . ,101-N), the music extraction portion 102, the feature quantity metadatabase 103, a ranking database 104, the list generation portion 105,the music basic meta database 106, an image data storage portion 107 andthe display portion 108. Further, the playlist generation system 10includes a music playback portion 109, a music data storage portion 110,an operation portion 111, a specifying device management portion 112, anenvironment information database 113, a history information database 114and a preference information database 115. Furthermore, the playlistgeneration system 10 includes a user information database 116, aparameter storage portion 117, a parameter transmitting portion 118 anda parameter receiving portion 119.

First, when parameter values are specified using the parameterspecifying devices 101, the specified parameter values are input to themusic extraction portion 102. When the parameter values are input, themusic extraction portion 102 refers to the feature quantity metadatabase 103 (refer to FIG. 7), extracts music that corresponds to theparameter values, and acquires the identification information of theextracted music. Note that, when features relating to ranking arespecified as parameter values, the music extraction portion 102 refersto the ranking database 104 (refer to FIG. 9), extracts music thatcorresponds to the parameter values, and acquires the identificationinformation of the extracted music. As shown in FIG. 9, the rankingdatabase 104 is a database that associates music, a ranking type andranking information (information relating to rankings) with each other.

After the identification information of the music is acquired, the musicextraction portion 102 inputs the identification information of theacquired music into the list generation portion 105. When theidentification information of the music is input, the list generationportion 105 refers to the music basic meta database 106 (refer to FIG.8), and extracts the basic information that corresponds to theidentification information of the input music. Then, the list generationportion 105 lists the extracted basic information and generates aplaylist. At this time, the list generation portion 105 reads out animage that corresponds to the extracted basic information from the imagedata storage portion 107, and sets the read-out image as a background ofthe playlist. For example, the jacket photo of the album is stored inthe image data storage portion 107, and the list generation portion 105divides the jacket photo such that the divided jacket photos have a sizeappropriate for each frame of the playlist, and sets the jacket photo asthe background of the playlist (refer to FIG. 1 and FIG. 5).

The playlist generated by the list generation portion 105 is displayedon the display portion 108. The identification information of the musicincluded in the playlist is input to the music playback portion 109. Themusic playback portion 109 is a unit that plays back the music includedin the playlist. When the identification information of the musicincluded in the playlist is input, the music playback portion 109 readsout music data that corresponds to the input identification informationfrom the music data storage portion 110. Further, when a playbackoperation is performed using the operation portion 111, the musicplayback portion 109 plays back the music data read out from the musicdata storage portion 110. Then, the music playback portion 109 inputsthe identification information of the played back music into thespecifying device management portion 112.

When the identification information of the music is input by the musicplayback portion 109, the specifying device management portion 112records the input identification information into the historyinformation database 114 as history information that indicates theplayback history. The specifying device management portion 112 is a unitthat performs control of the parameter specifying devices 101 andmanagement of the parameter values that are input using the parameterspecifying devices 101. Further, the specifying device managementportion 112 holds information indicating the type of each of theparameter specifying devices 101, and information indicating the upperlimit and the lower limit of the parameter value that can be specifiedusing each of the parameter specifying devices 101.

First, the specifying device management portion 112 selects acombination of the parameter specifying devices 101 that are broughtinto an operable state. At this time, the specifying device managementportion 112 selects a combination of the parameter specifying devices101 that matches the user's preference, based on the environmentinformation, the history information, the preference information and theuser information. The above-described environment information is storedin the environment information database 113. The above-described historyinformation is stored in the history information database 114. Theabove-described preference information is stored in the preferenceinformation database 115. Further, the above-described user informationis stored in the user information database 116.

The specifying device management portion 112 reads out these pieces ofinformation from the environment information database 113, the historyinformation database 114, the preference information database 115 andthe user information database 116, as appropriate, and uses the read-outpieces of information. Note that the above-described preferenceinformation is generated by the specifying device management portion 112based on the history information, the user information and the like, andis stored in the preference information database 115.

For example, in the example shown in FIG. 6, the parameter specifyingdevices 101-2 and 101-3 are selected. Note that the parameter specifyingdevices 101 selected by the specifying device management portion 112 aredisplayed in a format shown in FIG. 11, for example, and are presentedto the user. The user selects and uses some of the parameter specifyingdevices 101 from the list of the presented parameter specifying devices101. The information (the specifying device information) indicating thetypes of the parameter specifying devices 101 that have been selected inthis manner is recorded in the parameter storage portion 117 by thespecifying device management portion 112. Further, the parameter valuesthat have been input using the parameter specifying devices 101 areinput to the music extraction portion 102 and also input to thespecifying device management portion 112. When the parameter values areinput, the specifying device management portion 112 associates the inputparameter values with the specifying device information and records themin the parameter storage portion 117.

Since the specifying device information and the parameter values arestored in this manner, if the user wants to extract a group of musicpieces having the same mood as the group of music pieces in the playlistgenerated in the past, the user can extract a desired group of musicpieces by reading out the specifying device information and theparameter values from the parameter storage portion 117. At this time,the specifying device management portion 112 reads out the specifyingdevice information and the parameter values recorded in the parameterstorage portion 117 and inputs them into the music extraction portion102. When the specifying device information and the parameter values areinput into the music extraction portion 102, a playlist that correspondsto the combination of the input parameter values is generated by themusic extraction portion 102, the list generation portion 105 and thelike.

When the specifying device information and the parameter values aretransmitted to another person, the specifying device management portion112 inputs the specifying device information and the parameter valuesinto the parameter transmitting portion 118. When the specifying deviceinformation and the parameter values are input, the parametertransmitting portion 118 transmits the input specifying deviceinformation and the parameter values to the other person (to theplaylist generation system 10 used by the other person). Note that theparameter transmitting portion 118 may be structured such that itdiscloses the specifying device information and the parameter values,and when the parameter transmitting portion 118 receives a transmissionrequest of the specifying device information and the parameter valuesfrom the other person, it transmits the specifying device informationand the parameter values.

On the other hand, the parameter receiving portion 119 can receive thespecifying device information and the parameter values transmitted fromanother person. When the parameter receiving portion 119 receives thespecifying device information and the parameter values, the parameterreceiving portion 119 inputs the received specifying device informationand parameter values into the specifying device management portion 112.When the specifying device information and the parameter values areinput, the specifying device management portion 112 inputs the inputspecifying device information and parameter values into the musicextraction portion 102, or it records them in the parameter storageportion 117. When the specifying device information and the parametervalues are input to the music extraction portion 102, a playlistcomposed of a group of music pieces having a mood that the other personlikes is generated by the functions of the music extraction portion 102,the list generation portion 105 and the like.

As explained above, the use of the playlist generation system 10 shownin FIG. 6 makes it possible to achieve the playlist generation method,the playlist exchange method and the playlist display method accordingto the present embodiment that have been explained earlier.

2-2: Configuration of Specifying Device Management Portion 112

The overall configuration of the playlist generation system 10 isexplained above. Here, the function of the specifying device managementportion 112 included in the playlist generation system 10 will beexplained in more detail with reference to FIG. 10. FIG. 10 is anexplanatory diagram that illustrates a detailed functional configurationof the specifying device management portion 112.

As shown in FIG. 10, the specifying device management portion 112 mainlyincludes a preference analysis portion 1121, a specifying deviceselection portion 1122, a specifying device control portion 1123, aparameter recording portion 1124, a parameter exchange portion 1125 anda specifying device generation portion 1126.

The preference analysis portion 1121 is a unit that breaks down oranalyzes the user information and the history information and calculatesthe preference information. For example, the preference analysis portion1121 refers to the playback history, the purchase history and the likeincluded in the history information, and statistically detects artistsetc. that the user likes. Further, the preference analysis portion 1121refers to age and gender etc. included in the user information, andpredicts music of an era that the user likes, and the like. Further,from the preference information that has been detected or predicted inthis manner, the preference analysis portion 1121 estimates the types ofthe parameter specifying devices 101 that are predicted to be usedfrequently, a parameter value range having a high possibility of beingspecified, and the like, and records them in the preference informationdatabase 115. Furthermore, the preference analysis portion 1121 inputsthe preference information that has been detected, predicted orestimated in this manner, into the specifying device selection portion1122.

When the preference information is input from the preference analysisportion 1121, the specifying device selection portion 1122 selects thetypes of the parameter specifying devices 101 to be presented to theuser, based on the environment information, the history information, thepreference information and the user information. The specifying deviceinformation of the parameter specifying devices 101 selected by thespecifying device selection portion 1122 is input to the specifyingdevice control portion 1123. When the specifying device information isinput, the specifying device control portion 1123 causes the parameterspecifying devices 101 corresponding to the input specifying deviceinformation to be in an operable state. For example, the specifyingdevice control portion 1123 displays the parameter specifying devices101 corresponding to the input specifying device information (refer toFIG. 11), or clearly shows that the parameter specifying devices 101 arein an operable state by highlight display.

Further, the specifying device control portion 1123 inputs into theparameter recording portion 1124 the specifying device information ofthe parameter specifying devices 101 that are caused to be in anoperable state. In addition to the specifying device information inputfrom the specifying device control portion 1123, the parameter valuesspecified using the parameter specifying devices 101 that are caused tobe in an operable state are input into the parameter recording portion1124. When the specifying device information and the parameter valuesare input, the parameter recording portion 1124 associates the inputspecifying device information and parameter values with each other, andrecords them in the parameter storage portion 117. For example, theparameter recording portion 1124 records, in the parameter storageportion 117, that a combination of a parameter specifying device #2 anda parameter specifying device #3 is used (specifying device information)and that the parameter value of the parameter specifying device #2 is P1and the parameter value of the parameter specifying device #3 is P2.

Note that the parameter recording portion 1124 may be structured suchthat it uses colors to record the specifying device information and theparameter values, as shown in FIG. 12. As a method for recording thespecifying device information and the parameter values, for example, amethod is conceivable in which a color map is prepared in which a musicfeature is assigned to each color region as shown in FIG. 12, and colorscorresponding to the specifying device information and the parametervalues are recorded. In the example shown in FIG. 12, “tempo”, “happy”and “mood channel” are assigned to three color regions in the color map.In this case, when the parameter values are specified using theparameter specifying devices 101 that respectively correspond to“tempo”, “happy” and “mood channel”, a color in the color map isselected in accordance with the specified parameter values, and theselected color is recorded as a color bookmark.

Since the combination of the specifying device information and theparameter values is expressed using color in this manner, it is possibleto express multi-dimensional information using a chromaticity point inthe color map. Note that, as shown in FIG. 11, a GUI object (bookmark)of a color that corresponds to the recorded specifying deviceinformation and parameter values may be displayed in the list of GUIobjects that indicate the parameter specifying devices 101. With thistype of display, the user can quickly call up the recorded specifyingdevice information and parameter values. In addition, since color isused to express the specifying device information and the parametervalues, the mood of the group of music pieces included in the playlistis expressed by color. Therefore, the user can intuitively recall themood of the group of music pieces expressed by the specifying deviceinformation and the parameter values that have been recorded in thepast.

The parameter exchange portion 1125 is a unit that transmits thespecifying device information and the parameter values to another personvia the parameter transmitting portion 118, or receives the parameterspecifying device information and the parameter values from the otherperson via the parameter receiving portion 119. When the specifyingdevice information and the parameter values are transmitted to the otherperson, the parameter exchange portion 1125 inputs the specifying deviceinformation and the parameter values into the parameter transmittingportion 118. On the other hand, when the specifying device informationand the parameter values are received from the other person, theparameter exchange portion 1125 acquires the specifying deviceinformation and the parameter values from the parameter receivingportion 119, and inputs them into the music extraction portion 102 orrecords them in the parameter recording portion 1124.

The specifying device generation portion 1126 is a unit that generates anew type of the parameter specifying device 101 by combining existingparameters. When the new type of the parameter specifying device 101 isgenerated, first, as shown in FIG. 13, the specifying device generationportion 1126 allows the user to select, from among the existingparameters, parameters to be used to generate the new parameterspecifying device 101. Further, the specifying device generation portion1126 allows the user to input the name of the new parameter specifyingdevice 101. Further, the specifying device generation portion 1126allows the user to select whether or not to disclose the new parameterspecifying device 101.

When the user selects the parameters to be used (Step 1), the specifyingdevice generation portion 1126 normalizes a vector of the selectedparameters and converts the vector to a scalar quantity from 0 to 100(Step 2). Most of the parameter values are not necessarily defined inthe range of 0 to 100. Further, since a combination of the parametervalues is a vector quantity, it is necessary to convert it to a scalarquantity so that the combination of the parameter values can bespecified using the parameter specifying device 101. For example, if twotypes of parameters (parameter values x1, x2) are selected, thespecifying device generation portion 1126 generates a conversionalgorithm F that converts a vector quantity (x1, x2) to a scalarquantity p (p=0-100).

For example, the simplest conversion algorithm F is as follows:p=100*x1/x1max (where x1max is the maximum value of x1), p=100*x2/x2max(where x2max is the maximum value of x2). When this conversion algorithmF is used, if the scalar quantity p (p=0-100) is given, the vectorquantity (x1, x2) is uniquely determined. It is needless to mention thatthe conversion algorithm F may be generated in any given way as long asthe vector quantity (x1, x2) is uniquely determined when the scalarquantity p (p=0-100) is given. This also applies when three or moreparameters are selected.

After the conversion algorithm F that converts the vector quantity tothe scalar quantity has been determined in this manner, the specifyingdevice generation portion 1126 registers the new parameter specifyingdevice 101 that has the specified name and has a parameter value, whichis the scalar quantity obtained from the conversion algorithm Fgenerated at Step 2 (Step 3). For example, the specifying devicegeneration portion 1126 makes it possible to display the new parameterspecifying device 101 on the list of the parameter specifying devices101 shown in FIG. 11. Then, the specifying device generation portion1126 holds information of the newly registered parameter specifyingdevice 101 (Step 4).

Hereinabove, the functional configuration of the specifying devicemanagement portion 112 is explained in detail. As described above, thespecifying device management portion 112 has the function that selectsthe parameter specifying devices 101 to be presented to the user, basedon the user's preference etc., and controls display etc. of theparameter specifying devices 101. Further, the specifying devicemanagement portion 112 has the function that records the combination ofthe parameter specifying devices 101 presented to the user and theparameter values specified using the parameter specifying devices 101,or transmits and receives such information to and from another person.With these functions, it is possible to hold the mood of the group ofmusic pieces registered in the playlist or to share it with the otherperson. Furthermore, the specifying device management portion 112 hasthe function that newly generates the parameter specifying device 101.With this function, it is possible to specify a new music feature as aparameter value.

2-3: System Configuration Examples

The functional configuration of the playlist generation system 10 isexplained above. Here, a system configuration when the playlistgeneration system 10 is actually operated will be briefly described.

Local Type

The functions of the playlist generation system 10 described above canbe achieved by a single information processing device, for example. Morespecifically, the functions assigned to the parameter specifying device101, the music extraction portion 102, the specifying device managementportion 112 and the like, namely, parameter value specification, musicextraction, playlist generation, transmission/reception and recording ofthe specifying device information and parameter values, and the like canbe achieved by a single information processing device. In addition, ifan information processing device with a high computation power is used,it may also possible to calculate the information that is to be storedin the feature quantity meta database 103 or the preference informationdatabase 115. On the other hand, if an information processing devicewith a low computation power is used, it may be desirable to use thefeature quantity meta database 103 and the preference informationdatabase 115 that have been structured in advance.

Further, if an information processing device that is connected to anetwork is used, it is also possible to configure a system in whichvarious types of databases are provided in a server device on thenetwork, and the databases provided in the server device are used asnecessary. This system may be appropriate for a terminal device that hasnot a large storage capacity, but is equipped with a communicationfunction, such as a mobile phone. In any one of the above-describedcases, a system configuration is possible that achieves the functions ofat least the parameter specifying device 101, the music extractionportion 102, the list generation portion 105, the music playback portion109 and the specifying device management portion 112, using a singleinformation processing device (this system configuration is hereinafterreferred to as a local type).

Server-Client Type

It is considered that the above-described local type is appropriate formusic management of an individual user. On the other hand, it isconsidered that a server-client type system configuration such as thatshown in FIG. 14 is more appropriate for a music seller or a downloadprovider. This system configuration includes the client device 11 andthe server device 12 as shown in FIG. 14. The client device 11 is adevice under control of the user. On the other hand, the server device12 is a device under control of the music seller or the like. Of course,the server device 12 may be under control of the individual user.

When this system configuration is used, the client device 11 is mainlyprovided with the functions of the specifying device control portion1123, the display portion 108 and the music playback portion 109. On theother hand, the server device 12 is mainly provided with the functionsof the preference analysis portion 1121, the specifying device selectionportion 1122, the music extraction portion 102 and the list generationportion 105. More specifically, the client device 11 is a unit thatdisplays the parameter specifying devices 101 or actually plays backmusic, while the server device 12 is a unit that presents the specifyingdevice information to the client device 11, or provides a playlist.

Operations of the client device 11 and the server device 12 will now beexplained with reference to FIG. 15. FIG. 15 is an explanatory diagramthat illustrates the operations of the client device 11 and the serverdevice 12.

As shown in FIG. 15, first, the user operates the client device 11 andactivates a parameter value specifying function performed by theparameter specifying devices 101 (S11). Then, the client device 11requests the server device 12 to transmit the specifying deviceinformation of the parameter specifying devices 101 (S12). At this time,the client device 11 transmits, to the server device 12, the environmentinformation (language of use, district, time zone and the like), thehistory information (operation history, purchase history, playbackhistory and the like) and the user information (age, gender,nationality, family structure and the like). Next, the server device 12selects the types of the parameter specifying devices 101 that match theuser's preference and the like, which are obtained by breaking down oranalyzing the environment information, the history information and theuser information received from the client device 11 (S13).

Next, the server device 12 transmits to the client device 11 thespecifying device information that indicates a combination of theselected parameter specifying devices 101 (S14). Then, the client device11 receives the specifying device information from the server device 12,and displays a list of the parameter specifying devices 101 thatcorrespond to the received specifying device information (S15). Then,the user selects the parameter specifying device 101 to be used, fromthe list of the parameter specifying devices 101 (S16).

Next, the client device 11 displays the parameter specifying device 101selected by the user (S17). Then, the user specifies a parameter valueusing the parameter specifying device 101 displayed on the client device11 (S18). Then, the client device 11 displays the parameter valuespecified by the user (S19), and transmits the parameter value to theserver device 12 (S20).

Next, the server device 12 records the parameter value received from theclient device 11, and generates a playlist based on the receivedparameter value (S21). At this time, the server device 12 uses thefunctions of the music extraction portion 102 and the list generationportion 105 to extract a group of music pieces that match the parametervalue and to generate the playlist. Then, the server device 12 transmitsthe playlist generated at S21 to the client device 11 (S22). Then, theclient device 11 displays the playlist received from the server device12 (S23).

In this manner, the processing relating to the user's preferenceanalysis and the selection of the parameter specifying device 101, andthe music extraction processing based on the specified parameter valueare performed by the server device 12. Thus, even when the computingpower of the client device 11 is low or the storage capacity of theclient device 11 is small, it is possible to achieve the functions ofthe playlist generation system 10. Further, by applying this systemconfiguration, it is possible to obtain, without listening to music atall, a playlist of the pieces of music that match the preference of theindividual user (the client device 11) from a huge amount of music thatthe music seller or the like (the server device 12) holds.

The system configuration examples of the playlist generation system 10are described above.

3: HARDWARE CONFIGURATION

The functions of the playlist generation system 10, the client device11, the server device 12, or the like described above can be realized byusing the hardware configuration of an information processing apparatusshown in FIG. 16, for example. That is, the function of each structuralelement is realized by controlling the hardware shown in FIG. 16 byusing a computer program. Additionally, the mode of this hardware isarbitrary, and may be a personal computer, a mobile information terminalsuch as a mobile phone, a PHS or a PDA, a game machine, or various typesof information appliances. Moreover, the PHS is an abbreviation forPersonal Handy-phone System. Also, the PDA is an abbreviation forPersonal Digital Assistant.

As shown in FIG. 16, this hardware mainly includes a CPU 902, a ROM 904,a RAM 906, a host bus 908, and a bridge 910. Furthermore, this hardwareincludes an external bus 912, an interface 914, an input unit 916, anoutput unit 918, a storage unit 920, a drive 922, a connection port 924,and a communication unit 926. Moreover, the CPU is an abbreviation forCentral Processing Unit. Also, the ROM is an abbreviation for Read OnlyMemory. Furthermore, the RAM is an abbreviation for Random AccessMemory.

The CPU 902 functions as an arithmetic processing unit or a controlunit, for example, and controls an entire operation or a part of theoperation of each structural element based on various programs recordedon the ROM 904, the RAM 906, the storage unit 920, or a removablerecording medium 928. The ROM 904 is means for storing, for example, aprogram to be loaded on the CPU 902 or data or the like used in anarithmetic operation. The RAM 906 temporarily or perpetually stores, forexample, a program to be loaded on the CPU 902 or various parameters orthe like arbitrarily changed in execution of the program.

These structural elements are connected to each other by, for example,the host bus 908 capable of performing high-speed data transmission. Forits part, the host bus 908 is connected through the bridge 910 to theexternal bus 912 whose data transmission speed is relatively low, forexample. Furthermore, the input unit 916 is, for example, a mouse, akeyboard, a touch panel, a button, a switch, or a lever. Also, the inputunit 916 may be a remote control that can transmit a control signal byusing an infrared ray or other radio waves.

The output unit 918 is, for example, a display device such as a CRT, anLCD, a PDP or an ELD, an audio output device such as a speaker orheadphones, a printer, a mobile phone, or a facsimile, that can visuallyor auditorily notify a user of acquired information. Moreover, the CRTis an abbreviation for Cathode Ray Tube. The LCD is an abbreviation forLiquid Crystal Display. The PDP is an abbreviation for Plasma DisplayPanel. Also, the ELD is an abbreviation for Electro-LuminescenceDisplay.

The storage unit 920 is a device for storing various data. The storageunit 920 is, for example, a magnetic storage device such as a hard diskdrive (HDD), a semiconductor storage device, an optical storage device,or a magneto-optical storage device. The HDD is an abbreviation for HardDisk Drive.

The drive 922 is a device that reads information recorded on the removalrecording medium 928 such as a magnetic disk, an optical disk, amagneto-optical disk, or a semiconductor memory, or writes informationin the removal recording medium 928. The removal recording medium 928is, for example, a DVD medium, a Blu-ray medium, an HD-DVD medium,various types of semiconductor storage media, or the like. Of course,the removal recording medium 928 may be, for example, an IC card onwhich a non-contact IC chip is mounted or an electronic device. The ICis an abbreviation for Integrated Circuit.

The connection port 924 is a port such as an USB port, an IEEE1394 port,a SCSI, an RS-232C port, or a port for connecting an externallyconnected device 930 such as an optical audio terminal. The externallyconnected device 930 is, for example, a printer, a mobile music player,a digital camera, a digital video camera, or an IC recorder. Moreover,the USB is an abbreviation for Universal Serial Bus. Also, the SCSI isan abbreviation for Small Computer System Interface.

The communication unit 926 is a communication device to be connected toa network 932, and is, for example, a communication card for a wired orwireless LAN, Bluetooth (registered trademark), or WUSB, an opticalcommunication router, an ADSL router, or various communication modems.The network 932 connected to the communication unit 926 is configuredfrom a wire-connected or wirelessly connected network, and is theInternet, a home-use LAN, infrared communication, visible lightcommunication, broadcasting, or satellite communication, for example.Moreover, the LAN is an abbreviation for Local Area Network. Also, theWUSB is an abbreviation for Wireless USB. Furthermore, the ADSL is anabbreviation for Asymmetric Digital Subscriber Line.

4. CONCLUSION

Lastly, technical content according to the embodiment of the presentinvention will be briefly summarized. The technical content describedhere can be applied to various types of information processing devices,such as a personal computer (PC), a mobile phone, a mobile game console,a mobile information terminal, home information appliances, a carnavigation system and the like.

The functional configuration of the above-described informationprocessing device can be expressed in the following manner. Theabove-described information processing device includes a plurality ofspecifying devices, a music extraction portion and a list generationportion, which will be described below. The plurality of specifyingdevices are used to respectively specify a plurality of parameter valuesthat represent music features. The music extraction portion extracts,from a first database in which a plurality of pieces of music areassociated with the parameter values, pieces of music that match theparameter values specified using the specifying devices. The listgeneration portion generates a list of the pieces of music extracted bythe music extraction portion.

As already explained above, music has various features. Examples ofmusic features include tempo, brightness of melody, a type of musicalinstrument, and the like. Further, the mood of music perceived by aperson is one of the music features. For example, a “spring-like” musicmood that is perceived by a person is one of the music features.Normally, in order to find pieces of music having a “spring-like”feature, it is necessary for the user to actually listen to music.However, when the user has many pieces of music, a large amount of timeand tremendous efforts are required to find “spring-like” music byactually listening to the pieces of music one by one. Due to the samereason, it is also very difficult for the user to find “spring-like”music from among a huge volume of music provided by a music seller or ahuge number of pieces of music provided via a network. Of course, thereare cases in which it is difficult for the user to actually listen tomusic that the user himself/herself does not own.

In order to address this, the inventors of the present invention hasdevised a system in which the mood of music is quantitatively expressedby a combination of parameter values, and pieces of music that match thecombination of the parameter values are automatically extracted. Forexample, with the use of the above-described specifying devices, theuser can easily specify parameter values that represent music features.In addition, by specifying a plurality of parameter values using aplurality of the specifying devices, it is possible to express the musicmood by a combination of the parameter values. When the combination ofthe parameter values is specified, the above-described music extractionportion automatically extracts pieces of music that match thecombination of the specified parameter values. Then, the above-describedlist generation portion generates a list of the automatically extractedpieces of music. By referring to the list, the user can ascertain agroup of music pieces that match the mood specified by the user.

Note that, by holding the combination of the parameter values used whenobtaining the list of music pieces, it is possible to easily extractpieces of music having the same mood at a later time. Note however that,in a case where music extraction is performed at a later time, if thegroup of music pieces as an extraction target has been changed, thegroup of music pieces extracted when storing the parameter values isdifferent from the group of music pieces extracted at the later time.However, the two groups of music pieces are the groups of music pieceshaving the same mood. Therefore, saving of the combination of theparameter values specified by the above-described specifying devices issaving of the mood of music that the user likes. In contrast, a normalplaylist is of no use if the group of music pieces as an extractiontarget has significantly changed.

However, when the above-described system in which only the music mood issaved is applied, even if the group of music pieces as the extractiontarget has significantly changed, it is possible to extract pieces ofmusic that match the saved mood, from the changed group. The group ofmusic pieces extracted at this time may be different from the group ofmusic pieces extracted in the past, but it has the same mood. Thisfeature generates the following application example. For example, let usconsider a case in which a combination of parameter values istransmitted to another person. If the combination of the parametervalues corresponding to a certain mood can be transmitted to anotherperson, it is possible to share the music mood with the other person. Ofcourse, in many cases, the group of music pieces owned by another personmay be different from the group of music pieces owned by the userhimself/herself. However, if the system of the present embodiment isapplied, it is possible to reliably convey the music mood even withoutexchanging the pieces of music.

Remarks

The above-described parameter storage portion 117 is an example of aninformation holding portion. The above-described parameter transmittingportion 118 is an example of an information disclosure portion. Theabove-described parameter receiving portion 119 is an example of aninformation receiving portion. The above-described specifying devicegeneration portion 1126 is an example of a type selection portion, anormalization portion and a specifying device generation portion. Theabove-described image data storage portion 107 is an example of an imageholding portion.

It should be understood by those skilled in the art that variousmodifications, combinations, sub-combinations and alterations may occurdepending on design requirements and other factors insofar as they arewithin the scope of the appended claims or the equivalents thereof.

The present application contains subject matter related to thatdisclosed in Japanese Priority Patent Application JP 2010-087853 filedin the Japan Patent Office on Apr. 6, 2010, the entire content of whichis hereby incorporated by reference.

What is claimed is:
 1. An information processing device comprising: aplurality of specifying devices used to respectively specify a pluralityof types of parameter values representing music features, the pluralityof specifying devices and the respective parameter values beingselectable by a user; a music extraction portion that extracts, from afirst database in which a plurality of pieces of music and the parametervalues are associated with each other, pieces of music that match theparameter values specified using the specifying devices, wherein each ofthe parameter values is specified by a numeric value range, the musicextraction portion identifies a plurality of music feature quantityvectors based on the numeric value range of each of the parametervalues, determines that a number of the music feature quantity vectorsis greater than a predetermined number of the music feature quantityvectors, and selects the predetermined number of the music featurequantity vectors in accordance with a predetermined weighting that isset for each of the parameter values; a list generation portion thatgenerates a list of the pieces of music extracted by the musicextraction portion; and a specifying device management portion thatselects the parameter value type that matches at least a preference ofthe user, and causes the specifying device that corresponds to theselected parameter value type to be in an operable state.
 2. Theinformation processing device according to claim 1, further comprising:an information holding portion that holds a combination of a type of thespecifying device that is caused to be in the operable state by thespecifying device management portion and the parameter value specifiedusing the specifying device, wherein, in a predetermined case, the musicextraction portion extracts pieces of music that match the type of thespecifying device held by the information holding portion and theparameter value specified using the specifying device.
 3. Theinformation processing device according to claim 2, further comprising:an information disclosure portion that discloses the combination of thetype of the specifying device that is caused to be in the operable stateby the specifying device management portion and the parameter valuespecified using the specifying device, wherein another informationprocessing device that receives the type of the specifying device andthe parameter value disclosed by the information disclosure portion isallowed to extract, from a second database in which a plurality ofpieces of music and the parameter values are associated with each other,pieces of music that match the type of the specifying device and theparameter value that have been received.
 4. The information processingdevice according to claim 3, further comprising: an informationreceiving portion that receives, from the other information processingdevice, a combination of the type of the specifying device and theparameter value that can be specified using the specifying device,wherein the music extraction portion is capable of extracting pieces ofmusic that match the type of the specifying device and the parametervalue specified using the specifying device that have been received bythe information receiving portion.
 5. The information processing deviceaccording to claim 3, further comprising: a type selection portion usedto select a plurality of types of the parameter values that have beenset in advance; a normalization portion that normalizes a combination ofparameter values that correspond to the types selected using the typeselection portion to a scalar quantity in a predetermined range; and aspecifying device generation portion that sets the scalar quantitynormalized by the normalization portion as a new type of parametervalue, and generates a specifying device used to specify the new type ofparameter value.
 6. The information processing device according to claim3, further comprising: a display portion that displays the list of thepieces of music that is generated by the list generation portion; and animage holding portion that holds an image that corresponds to each ofthe pieces of music stored in the first database, wherein, when the listof the pieces of music is displayed, the display portion generatesdivided images by dividing the image held in the image holding portionso as to match frames of the respective pieces of music included in thelist of the pieces of music, and displays, in the respective frames, thedivided images of the image that corresponds to the pieces of music ofthe respective frames.
 7. The information processing device according toclaim 1, further comprising: a type selection portion used to select aplurality of types of the parameter values that have been set inadvance; a normalization portion that normalizes a combination ofparameter values that correspond to the types selected using the typeselection portion to a scalar quantity in a predetermined range; and aspecifying device generation portion that sets the scalar quantitynormalized by the normalization portion as a new type of parametervalue, and generates a specifying device used to specify the new type ofparameter value.
 8. The information processing device according to claim1, further comprising: a display portion that displays the list of thepieces of music that is generated by the list generation portion; and animage holding portion that holds an image that corresponds to each ofthe pieces of music stored in the first database, wherein, when the listof the pieces of music is displayed, the display portion generatesdivided images by dividing the image held in the image holding portionso as to match frames of the respective pieces of music included in thelist of the pieces of music, and displays, in the respective frames, thedivided images of the image that corresponds to the pieces of music ofthe respective frames.
 9. A client device comprising: a plurality ofspecifying devices used to respectively specify a plurality of types ofparameter values representing music features, the plurality ofspecifying devices and the respective parameter values being selectableby a user; a parameter transmitting portion that transmits to a serverdevice the parameter values specified using the plurality of specifyingdevices; a list receiving portion that, after the server device hasextracted, from a first database in which a plurality of pieces of musicand the parameter values are associated with each other, pieces of musicthat match the parameter values transmitted by the parametertransmitting portion and a list of the extracted pieces of music hasbeen generated, receives the generated list of the pieces of music,wherein each of the parameter values is specified by a numeric valuerange, the server device identifies a plurality of music featurequantity vectors based on the numeric value range of each of theparameter values, determines that a number of the music feature quantityvectors is greater than a predetermined number of the music featurequantity vectors, and selects the predetermined number of the musicfeature quantity vectors in accordance with a predetermined weightingthat is set for each of the parameter values; and a specifying devicemanagement portion that selects the parameter value type that matches atleast a preference of the user, and causes the specifying device thatcorresponds to the selected parameter value type to be in an operablestate.
 10. A server device comprising: a non-transitory recording mediumhaving recorded therein a program for causing a computer to function asan information processing apparatus comprising: a parameter receivingportion that receives parameter values specified by a client device thatincludes a plurality of specifying devices used to respectively specifya plurality of types of parameter values representing music features,wherein the plurality of specifying devices and the respective parametervalues are selectable by a user; a music extraction portion thatextracts, from a first database in which a plurality of pieces of musicand the parameter values are associated with each other, pieces of musicthat match the parameter values received by the parameter receivingportion, wherein each of the parameter values is specified by a numericvalue range, the music extraction portion identifies a plurality ofmusic feature quantity vectors based on the numeric value range of eachof the parameter values, determines that a number of the music featurequantity vectors is greater than a predetermined number of the musicfeature quantity vectors, and selects the predetermined number of themusic feature quantity vectors in accordance with a predeterminedweighting that is set for each of the parameter values; a listgeneration portion that generates a list of the pieces of musicextracted by the music extraction portion; a list transmitting portionthat transmits, to the client device, the list of the pieces of musicthat is generated by the list generation portion; and a specifyingdevice management portion that selects the parameter value type thatmatches at least a preference of the user, and causes the specifyingdevice that corresponds to the selected parameter value type to be in anoperable state.
 11. A list generation method, comprising the steps of:extracting pieces of music that match parameter values specified using aplurality of specifying devices used to respectively specify a pluralityof types of parameter values representing music features, from a firstdatabase in which a plurality of pieces of music and the parametervalues are associated with each other, wherein the plurality ofspecifying devices and the respective parameter values are selected by auser, the plurality of types of parameter values are selected based onat least a preference of the user, each of the parameter values isspecified by a numeric value range, a plurality of music featurequantity vectors are identified based on the numeric value range of eachof the parameter values, a number of the music feature quantity vectorsis greater than a predetermined number of the music feature quantityvectors, and the predetermined number of the music feature quantityvectors are selected in accordance with a predetermined weighting thatis set for each of the parameter values; and generating a list of thepieces of music extracted in the music extracting step.
 12. A listacquisition method, comprising the steps of: transmitting, to a serverdevice from a client device that includes a plurality of specifyingdevices used to respectively specify a plurality of types of parametervalues representing music features, the parameter values specified usingthe plurality of specifying devices, the plurality of specifying devicesand the respective parameter values selected by a user, the plurality oftypes of parameter values selected based on at least a preference of theuser; and receiving, after the server device has extracted, from a firstdatabase in which a plurality of pieces of music and the parametervalues are associated with each other, pieces of music that match theparameter values transmitted in the parameter transmitting step and alist of the extracted pieces of music has been generated, the generatedlist of the pieces of music from the server device, wherein each of theparameter values is specified by a numeric value range, the serverdevice identifies a plurality of music feature quantity vectors based onthe numeric value range of each of the parameter values, determines thata number of the music feature quantity vectors is greater than apredetermined number of the music feature quantity vectors, and selectsthe predetermined number of the music feature quantity vectors inaccordance with a predetermined weighting that is set for each of theparameter values.
 13. A list providing method, comprising the steps of:receiving parameter values specified by a client device that includes aplurality of specifying devices used to respectively specify a pluralityof types of parameter values representing music features, wherein theplurality of specifying devices and the respective parameter values areselected by a user, the plurality of types of parameter values areselected based on at least a preference of the user, and each of theparameter values is specified by a numeric value range; extracting, froma first database in which a plurality of pieces of music and theparameter values are associated with each other, pieces of music thatmatch the parameter values received in the parameter receiving step,wherein a plurality of music feature quantity vectors are identifiedbased on the numeric value range of each of the parameter values, anumber of the music feature quantity vectors is greater than apredetermined number of the music feature quantity vectors, and thepredetermined number of the music feature quantity vectors are selectedin accordance with a predetermined weighting that is set for each of theparameter values; generating a list of the pieces of music extracted inthe music extracting step; and transmitting, to the client device, thelist of the pieces of music that is generated in the list generatingstep.
 14. A non-transitory recording medium having recorded therein aprogram that comprises instructions that command a computer to perform:a music extraction function that extracts pieces of music that matchparameter values specified using a plurality of specifying devices usedto respectively specify a plurality of types of parameter valuesrepresenting music features, from a first database in which a pluralityof pieces of music and the parameter values are associated with eachother, wherein the plurality of specifying devices and the respectiveparameter values are selected by a user, the plurality of types ofparameter values are selected based on at least a preference of theuser, each of the parameter values is specified by a numeric valuerange, the music extraction function identifies a plurality of musicfeature quantity vectors based on the numeric value range of each of theparameter values, determines that a number of the music feature quantityvectors is greater than a predetermined number of the music featurequantity vectors, and selects the predetermined number of the musicfeature quantity vectors in accordance with a predetermined weightingthat is set for each of the parameter values; and a list generationfunction that generates a list of the pieces of music extracted by themusic extraction function.
 15. A non-transitory recording medium havingrecorded therein a program that comprises instructions that command acomputer to perform: a parameter transmitting function that transmits,to a server device, parameter values specified using a plurality ofspecifying devices used to respectively specify a plurality of types ofparameter values representing music features, the plurality ofspecifying devices and the respective parameter values selected by auser, the plurality of types of parameter values selected based on atleast a preference of the user; and a list receiving function that,after the server device has extracted, from a first database in which aplurality of pieces of music and the parameter values are associatedwith each other, pieces of music that match the parameter valuestransmitted by the parameter transmitting function and a list of theextracted pieces of music has been generated, receives from the serverdevice the generated list of the pieces of music, wherein each of theparameter values is specified by a numeric value range, the serverdevice identifies a plurality of music feature quantity vectors based onthe numeric value range of each of the parameter values, determines thata number of the music feature quantity vectors is greater than apredetermined number of the music feature quantity vectors, and selectsthe predetermined number of the music feature quantity vectors inaccordance with a predetermined weighting that is set for each of theparameter values.
 16. A non-transitory recording medium having recordedtherein a program that comprises instructions that command a computer toperform: a parameter receiving function that receives parameter valuesspecified by a client device that includes a plurality of specifyingdevices used to respectively specify a plurality of types of parametervalues representing music features, the plurality of specifying devicesand the respective parameter values selected by a user, the plurality oftypes of parameter values selected based on at least a preference of theuser; a music extraction function that extracts, from a first databasein which a plurality of pieces of music and the parameter values areassociated with each other, pieces of music that match the parametervalues received by the parameter receiving function, wherein each of theparameter values is specified by a numeric value range, the musicextraction function identifies a plurality of music feature quantityvectors based on the numeric value range of each of the parametervalues, determines that a number of the music feature quantity vectorsis greater than a predetermined number of the music feature quantityvectors, and selects the predetermined number of the music featurequantity vectors in accordance with a predetermined weighting that isset for each of the parameter values; a list generation function thatgenerates a list of the pieces of music extracted by the musicextraction function; and a list transmitting function that transmits, tothe client device, the list of the pieces of music that is generated bythe list generation function.